// pages/mine/info/sys.js
const App = getApp()

import Util from '../../../utils/util'

Page({
  data: {
    init: false,
    version: '1.0.0',
    conf: {}
  },
  onLoad() {
    App.doPost({
      uri: '/app/base/data/config',
      body: {},
      fnSucc: resp => {
        this.setData({
          conf: resp.data,
          init: true,
          version: App.Global.Version
        })
      }
    })

  },
  toPage(e) {
    wx.navigateTo({
      url: e.currentTarget.dataset.uri
    })
  },
  toAgreement() {
    let uri = this.data.conf.web.yhxy
    wx.navigateTo({
      url: `/pages/funcs/web?url=${encodeURIComponent(uri)}`,
    })
  },
  toPolicy() {
    let uri = this.data.conf.web.yszc
    wx.navigateTo({
      url: `/pages/funcs/web?url=${encodeURIComponent(uri)}`,
    })
  },
  
  doCheckVersion() {
    //判断微信版本是否 兼容小程序更新机制API的使用
    if (wx.canIUse('getUpdateManager')) {
      //创建 UpdateManager 实例
      const updateManager = wx.getUpdateManager()
      //检测版本更新
      updateManager.onCheckForUpdate((res) => {
        console.log(res)
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          //监听小程序有版本更新事件
          updateManager.onUpdateReady(() => {
            //  新的版本已经下载好，调用 applyUpdate 应用新版本并重启 （ 此处进行了自动更新操作）
            updateManager.applyUpdate()
          })
          updateManager.onUpdateFailed(() => {
            // 新版本下载失败
            wx.showModal({
              title: '已经有新版本喽~',
              content: '请您删除当前小程序，到微信 “发现-小程序” 页，重新搜索打开哦~',
            })
          })
        } else {
          Util.Toast.succ('已是最新版本')
        }
      })
    } else {
      //  此时微信版本太低（一般而言版本都是支持的）
      wx.showModal({
        title: '溫馨提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  doClearCache() {
    wx.showModal({
      title: '提示',
      content: '是否清空软件缓存',
      success(res) {
        if (res.confirm) {
          setTimeout(() => {
            Util.Toast.succ('已清空')
          }, 1200)
        }
      }
    })
  },
  doLogout() {
    wx.showModal({
      title: '提示',
      content: '是否注销用户登录',
      success: (res) => {
        if (res.confirm) {
          App.doPost({
            uri: '/app/user/account/wxmn/unbind',
            body: {
              appid: App.Global.AppId,
              openid: App.Global.OpenId,
            },
            fnSucc: () => {
              wx.setStorageSync('App.Uid', '')
              wx.setStorageSync('App.Token', 'Guest')
              wx.setStorageSync('App.Name', '')
              wx.setStorageSync('App.User', '{}')
              wx.setStorageSync('App.Users', '[]')
              App.Global.User = {}
              App.Global.Token = "Guest"

              wx.pub("ReloadUserInfo", {})
              wx.pub("ReloadUserFin", {})


              setTimeout(() => {
                wx.reLaunch({
                  url: '/pages/splash/splash',
                })
                // wx.redirectTo({
                //   url: '/pages/index/index',
                // })
              }, 200);
            },
            fnFail: resp => {
              Util.Notify.error(`[${resp.stat.err}] ${resp.stat.msg}`)
            },
            fnComp: () => {
              this.setData({
                loading: false,
              })
            }
          })
        }
      }
    })
  }
})